package com.yungu.swift.system.sys.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.model.PageVo;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.system.sys.model.dto.SysRegionalAgentDto;
import com.yungu.swift.system.sys.model.param.AdminAgentPageParam;
import com.yungu.swift.system.sys.model.vo.RegionalAgentDetailVo;
import com.yungu.swift.system.sys.model.vo.RegionalAgentVo;

import java.util.List;
import java.util.Map;


/**
 * SystemRegionalAgentService
 * 重写 add
 **/

public interface SysRegionalAgentService extends BaseService<SysRegionalAgentDto> {

    /**
     * 后台分页查询
     *
     * @param agentPageParam
     * @return
     */
    ResponseData<PageVo<RegionalAgentVo>> queryPageVo(AdminAgentPageParam agentPageParam);

    /**
     * 详情
     *
     * @param regionalAgentUuid 参数
     * @param appid             参数
     * @return RegionalAgentDetailVo
     */
    ResponseData<RegionalAgentDetailVo> detail(String regionalAgentUuid, String appid);

    /**
     * 开通/关闭
     *
     * @param uuid     参数
     * @param status   参数 (1: 开通 0：关闭)
     * @param userUuid 参数
     * @return ResponseData
     */
    ResponseData<Boolean> changeStatus(String uuid, int status, String userUuid);

    /**
     * 获取业务下的代理
     *
     * @param params 参数
     * @return List
     */
    ResponseData<List<SysRegionalAgentDto>> findAgentByBusinessType(Map<String, Object> params);
}